The present invention relates to techniques for evaluating the quality of internet connections. More specifically, the invention relates to methods for determining in real time the current time lag and stability of computer network connections.
Internet communication protocols allow information to be transferred between two computers or devices on a network. Typically, the information follows a path through the network, passing through a number of intermediate routers. Although the hardware of the network may be operating flawlessly, there still may be delays in the virtual network connection. The stability and throughput of the virtual connection depends on the complexity of the path, the speed of the routers, network traffic, and other factors that vary with time and are generally unpredictable. Many types of network data, such as e-mail messages, are not sensitive to the stability and throughput of the network connection. If a message, or part of a message, is delayed by a few seconds or minutes, it has little consequence. Corrupted data can be retransmitted or reconstructed by the communication protocol or application. Some other types of network data, however, are more sensitive to the stability and throughput of a network connection. For example, if real-time audio or video data streams are transmitted over an unsuitably unstable or slow network connection, the audio or video will be repeatedly interrupted as it is played to a user. The user then must wait for data to be received and buffered before the audio or video continues playing. These disruptions are intolerable for many live audio or video transmissions. Moreover, even small latencies in the network connection can be intolerable for certain applications, particularly interactive ones, such as live musical performances involving musicians at separate network locations. Many other applications such as real-time remote control, internet games, and high-quality internet teleconferencing and internet telephony also depend on a reliable and regular relay of information with nearly ideal real-time throughput.
Although various techniques exist in the prior art for testing the hardware of a network, few techniques exist for testing or evaluating the virtual connection between computers on a network. One known technique for testing the hardware of a network is termed time domain reflectometry or time delay reflectometry (TDR). The TDR technique involves generating a pulse at one end of a physical transmission line in the network hardware, e.g., a coaxial cable. The delay and the strength of the reflected signal are measured to determine the quality of the transmission line. It is known to use electromagnetic pulses whose center frequency takes on a selected value that is either high frequency or low frequency or DC, thereby enabling one to test the transmission characteristics at various different frequencies. It is also known to take the fast Fourier transform (FFT) of the return pulse to determine the frequency response of the physical transmission line. The delay is then used to ascertain the physical location of a fault in the transmission line. See for instance U.S. Pat. Nos. 5,122,800, 5,586,054 and 5,712,982.
In a similar technique known in the art, a device that uses TDR to test LAN connections has sound output in the form of a buzzer that beeps or continuously sounds if the quality of the physical connection is below a minimum threshold.
In another technique known in the art, a multifrequency test signal is fed into a network and measured at another end of the network. The measured signal is then compared with an undistorted copy of the original test signal to determine the physical transmission properties of the network over a range of frequencies. A difference signal is calculated as a measure of the distortion.
It is important to recognize that the above techniques are useful only for testing the hardware of a computer network. They cannot be used to test the characteristics or qualities of virtual network connections, which depend not only on the physical properties of the physical transmission lines of the network, but also on the traffic load, router speed, and other virtual properties of the network not directly related to the hardware.
One known technique for testing a virtual network connection is a packet internet grouper (PING) tool, a part of the Internet Control Message Protocol (ICMP) and commonly available on machines running operating systems such as Unix, DOS, and MacOS. The PING tool is a very simple program that sends a small packet of information to another machine on the network, which then immediately sends a packet back to the original machine. The round-trip time (RTT) for the packet is then calculated and displayed to the user in the form of a number, or a list of symbols whose length is proportional to the round-trip time. The PING tool, however, provides only a momentary measurement of the virtual network connection latency and does not allow continuous monitoring of the connection. The PING tool does not provide any way to conveniently measure an aspect of stability of a network connection crucial to interactive flows, i.e., the changes in latency with time which are known to those skilled in the art as short-term jitter.
The present invention provides an improved technique for measuring, evaluating, and presenting virtual network connection latency information. In addition, the present invention provides a technique for measuring, evaluating, and presenting virtual network connection stability information. This technique allows users to easily evaluate the quality of internet connections by using the internet connection for audible tone synthesis, then presenting the synthesized tone to a user. Connections are taken to include those provided by xe2x80x9cconnection-orientedxe2x80x9d and xe2x80x9cconnectionlessxe2x80x9d protocols, e.g., the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP), respectively.
In one aspect of the present invention, a new technique is provided for evaluating quality of service (QoS) of a network connection in an advanced digital network. In a typical implementation, the invention is embodied as a network software layer, which provides a user with an audible information about a qualitative measurement of transaction delay and delay constancy. The technique is especially useful for managing connections used in near-real-time, media-rich applications enabled by fast networking.
Existing techniques simply xe2x80x9cpingxe2x80x9d a connection and then print delay statistics or display an average data transfer rate. Users"" capabilities to recognize information on the audio level is utilized in the present invention by audibly providing a synthesized tone in an altering quality. For example, information about varying RTT may be provided by controlling the pitch of the synchronized tone. The present method includes, in addition a novel technique to provide a continuous and very sensitive measure of the connection latency. Specifically, the present technique uses the virtual network connection to implement a tone synthesis loop, then drives this synthesis loop to produce synthesized tones. In the preferred embodiment of the invention the synthesized tone is a musical tone, which is less straining to hear for an extended period. Hence, the virtual network connection, may be correspondingly presented on the audio level as a string of a musical instrument. Just as the pitch of the sound produced by the instrument depends on physical properties of the string, the tone produced by the network connection implemented synthesis loop depends on the delays present in the network connection. The pitch of the synthesized tone thus provides a continuous measure of the network latency. Moreover, the stability of the pitch provides a measure of the stability of the connection. The sound is created by continuously reflecting a test signal between two network terminals, e.g., between a client machine and a server machine. Recognizing the inherent network delays between these reflections and correlating the delay periods to the frequency of the synthesized tone allows the pitch of the sound to represent transmission latency and the pitch stability to represent the regularity of the network service.
In contrast with the prior art techniques that use a single pulse to determine an instantaneous connection delay, the present technique continuously drives the connection to provide continual monitoring of the connection characteristics. Moreover, the present invention permits the novel presentation of the connection latency to the user in terms of an audible tone whose pitch immediately communicates to the user the connection latency and stability while allowing the user to simultaneously interact with the computer on the visual level and perform tasks other than observing the connection characteristic.
Because humans have a highly accurate sense of pitch, the present technique precisely and directly communicates to the user very subtle features of the network connection. The technique is especially useful as a diagnostic for real-time media applications such as high-quality teleconferencing or teleoperations which are being enabled by Internet2 and higher-speed network systems, including schemes for enhanced QoS through priority queuing of specific traffic.
A preferred embodiment of the technique involves sending a digital audio data stream continuously from a first computer across the internet to a second computer, then back to the first computer, and then using the recirculating connection loop as a delay line to synthesize an audible tone, in analogy to musical tone synthesis techniques based on physical models. Musical instruments like strings are mechanical systems comprising a tunable audio-rate sound transmission delay, typically on the order of 0.5-50 ms. Surprisingly, the present inventor has discovered that these delays are also typical of network connection delays. Thus, a musical tone may be synthesized using the internet connection itself as the transmission delay. Just as changing characteristics of an instruments string changes the sound produced, so changes in the network connection changes the synthesized sound. The present invention, in other words, allows a user to directly listen to the xe2x80x9csoundxe2x80x9d of the network (as if it were a vibrating acoustic medium). The sound xe2x80x9cplayedxe2x80x9d by the network communicates directly and intuitively to the user the characteristics of the network connection. The present invention, therefore, provides a simple and intuitive technique for evaluating the time lag and stability of a network connection.
In addition, the invention may be employed to rapidly detect the formation and/or location of so called congestion points in a complex path. As is known to those skilled in the art, a congestion point may for instance be a congestion in an intermediate router reducing the total throughput of a connection. In such a case, the evaluation method of the present invention can be put into a chord mode in which chord tones are created as a result of reflections in all intermediate routers. On the near side of the congestion points, chord tones will remain appropriate, those beyond will be changed. The chord tones are simultaneously provided to the user who may experience them as a uniquely distinguishable sound. The human""s hearing capabilities allow the acoustic recognition of very slight sound variations making a relatively high information resolution of the network connection feasible compared to visual and/or contextual information presentation.
In a preferred implementation of the present invention, one computer runs a synthesis model program that streams a test signal over the network to another computer, which then reflects the signal back to the model. The synthesis model in turn reflects the signal, filters it, and sends it again over the network connection to the other computer. Excitations of the model will recirculate on the net, just as an excitation of a string propagates down the length of the string and is reflected at the end of the string and propagates back and forth until it decays to silence. The result is a synthesized tone whose frequency or pitch is determined by the delay between the two ends of the network connection. As a variation, the synthesis model may continue to excite the loop, just as a violin bow continues to excite the string of a violin while it is being played. In either version, the synthesis model plays a synthesized tone to a user. If the delay is within the audio range is completely stable, the user hears a stable, pure pitch. If the delay increases, the user hears the pitch drop, just as the pitch of a violin drops as the musician""s finger moves up the neck of the instrument, increasing the effective length of the string. If the network connection delay is unstable, the user hears a wavering pitch. Because network connection delays can change in a discontinuous manner, the present invention preferably includes a small buffer that is used to implement an interpolation that creates smooth transitions between such discontinuous changes. As a result, the user hears a sudden but smooth change in pitch rather than an instantaneous break up of the sound.